#
# The interface for scene graph.
#
# Auther: Wesley Liu
# Email: jinvy.liu@gmail.com
# Date: 12/19/2007
#

class IScene
    # [x, y, z, w]
    attr_accessor :light_position
    # [r, g, b, a]
    attr_accessor :ambiant_light, :diffuse_light
    # float, frustum
    attr_accessor :near, :far
    # [x, y, z]
    attr_accessor :look_position, :look_target, :look_up
    
    def initialize
        @light_position = [0.0, 0.0, 200.0, 1.0]
        @ambiant_light = [0.1,  0.1, 0.1, 1.0]
        @diffuse_light = [0.9,  0.9, 0.9, 1.0]
        @near = 1.0
        @far = 200.0
        @look_position = [0.0, 0.0, 100.0]
        @look_target = [0.0, 0.0, 0.0]
        @look_up = [0.0, 1.0, 0.0]
    end
    
    # An iterator for mesh
    def each
    end
    
    # Get the bounding box which involves all the objects in the scene
    def rootbb
    end
end